// 该文件用于对axios进行二次封装，设置请求和响应拦截器
import axios from "axios";
import useUserStore from "@/store/modules/user";
const request = axios.create({
  baseURL: import.meta.env.VITE_BASE_URL,
  timeout: 5000,
});
request.interceptors.request.use((config) => {
  // 要把这行代码写在请求拦截器中，否则会报未初始化就使用的错误
  const userStore = useUserStore();
  if (userStore.token) {
    config.headers.token = userStore.token;
  }
  return config;
});
request.interceptors.response.use(
  (res) => {
    // 简化服务器返回的数据
    return res.data;
  },
  (err) => {
    // 终止Promise链
    return Promise.reject(new Error("fail"));
  }
);
export default request;
